package com.qls.core.ali.order.bookrq.request;

import com.google.common.collect.Lists;
import com.qls.core.ali.order.common.AuthenticationToken;
import com.qls.core.ali.order.common.DailyInfo;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import lombok.Data;

import java.util.List;

/**
 * @author doyoung
 */
@XStreamAlias("BookRQ")
@Data
public class BookRq {
    @XStreamAlias("AuthenticationToken")
    private AuthenticationToken authenticationToken;
    @XStreamAlias("TaoBaoOrderId")
    private String taoBaoOrderId;
    @XStreamAlias("TaoBaoHotelId")
    private String taoBaoHotelId;
    @XStreamAlias("HotelId")
    private String hotelId;
    @XStreamAlias("TaoBaoRoomTypeId")
    private String taoBaoRoomTypeId;
    @XStreamAlias("RoomTypeId")
    private String roomTypeId;
    @XStreamAlias("TaoBaoRatePlanId")
    private String taoBaoRatePlanId;
    @XStreamAlias("RatePlanCode")
    private String ratePlanCode;
    @XStreamAlias("Channel")
    private String channel;
    @XStreamAlias("TaoBaoGid")
    private String taoBaoGid;
    @XStreamAlias("CheckIn")
    private String checkIn;
    @XStreamAlias("CheckOut")
    private String checkOut;
    @XStreamAlias("HourRent")
    private String hourRent;
    @XStreamAlias("EarliestArriveTime")
    private String earliestArriveTime;
    @XStreamAlias("LatestArriveTime")
    private String latestArriveTime;
    @XStreamAlias("RoomNum")
    private Integer roomNum;
    @XStreamAlias("Occupancy")
    private String occupancy;
    @XStreamAlias("PriceType")
    private String priceType;
    @XStreamAlias("IsMorningBuy")
    private String isMorningBuy;
    @XStreamAlias("InventoryType")
    private String inventoryType;
    @XStreamAlias("TotalPrice")
    private Integer totalPrice;
    @XStreamAlias("OtherFee")
    private Integer otherFee;
    @XStreamAlias("PaidPrice")
    private Integer paidPrice;
    @XStreamAlias("TotalSellerPromotion")
    private String totalSellerPromotion;
    @XStreamAlias("GTInfo")
    private GtInfo gtInfo;
    @XStreamAlias("Currency")
    private String currency;
    @XStreamAlias("PaymentType")
    private String paymentType;
    @XStreamAlias("ContactName")
    private String contactName;
    @XStreamAlias("ContactTel")
    private String contactTel;
    @XStreamAlias("ContactEmail")
    private String contactEmail;
    @XStreamAlias("DailyInfos")
    private List<DailyInfo> dailyInfos = Lists.newArrayList();
    @XStreamAlias("signMemberDailyInfos")
    private List<DailyInfo> signMemberDailyInfos = Lists.newArrayList();
    @XStreamAlias("DisDailyInfos")
    private List<DailyInfo> disDailyInfos = Lists.newArrayList();
    @XStreamAlias("TravelInfo")
    private TravelInfo travelInfo;
    @XStreamAlias("OrderGuests")
    private List<OrderGuest> orderGuests = Lists.newArrayList();
    @XStreamAlias("Comment")
    private String comment;
    @XStreamAlias("GuaranteeType")
    private String guaranteeType;
    @XStreamAlias("MemberInfo")
    private MemberInfo memberInfo;
    @XStreamAlias("AlipayTradeNo")
    private String alipayTradeNo;
    @XStreamAlias("VoucherInfos")
    private List<VoucherInfo> voucherInfos = Lists.newArrayList();
    @XStreamAlias("CreditCardInfo")
    private CreditCardInfo creditCardInfo;
    @XStreamAlias("InvoiceInfo")
    private InvoiceInfo invoiceInfo;
    @XStreamAlias("PackageInfos")
    private PackageInfos packageInfos;
    @XStreamAlias("OriginPaymentType")
    private String originPaymentType;
    @XStreamAlias("HourRoomArriveTime")
    private String hourRoomArriveTime;
    @XStreamAlias("HourRoomLeaveTime")
    private String hourRoomLeaveTime;
    @XStreamAlias("Extensions")
    private String extensions;
    @XStreamAlias("Supplier")
    private String supplier;
}
